/**
 * 基础响应类型（后端统一返回格式：code+msg+data）
 * @template T - 响应数据的类型（业务相关）
 */
export interface BaseResponse<T = any> {
  code: number; // 状态码（200=成功，其他=失败）
  msg: string;  // 提示信息（成功/失败都可能有）
  data: T;      // 业务数据（成功时有效）
}

/**
 * 分页请求参数（通用）
 * 所有需要分页的接口都可以复用此类型
 */
export interface PageParams {
  pageNum: number;  // 页码（从1开始）
  pageSize: number; // 每页条数
}

/**
 * 分页响应结果（通用）
 * @template T - 列表项的类型
 */
export interface PageResult<T = any> {
  list: T[];        // 当前页数据列表
  total: number;    // 总条数
  pageNum: number;  // 当前页码
  pageSize: number; // 每页条数
}

/**
 * 空响应（用于无业务数据的接口，如删除、退出登录）
 */
export type EmptyResponse = BaseResponse<{}>;
